#ifndef ViewPanel3D_header_included
#define ViewPanel3D_header_included

class ViewPanel3D : public wxPanel
{
public:
	ViewPanel3D
		(
			const char* name, wxWindow* parent, wxWindowID id = wxID_ANY, 
			const wxPoint& pos = wxDefaultPosition,	const wxSize& size = wxDefaultSize, 
			long style = wxTAB_TRAVERSAL
		);
	
	const wxString& GetRenderWindowName() const;
	void SetViewportBackgroundColour(const wxColour& colour);
	wxColour GetViewportBackgroundcolour() const;

	DECLARE_EVENT_TABLE()

private:
	void OnSize(wxSizeEvent& e);
	void OnMouse(wxMouseEvent& e);
	void OnKeyDown(wxKeyEvent& e);
	void OnKeyUp(wxKeyEvent& e);
	void OnChar(wxKeyEvent& e);
	void OnSetFocus(wxFocusEvent& e);
	void OnKillFocus(wxFocusEvent& e);

private:
	// Ogre Render Window Name.
	wxString mRenderWindowName;

	// IME
	DWORD mConversion;
	DWORD mSentence;

};

#endif //ViewPanel3D_header_included